Conversation
## Investigation Results ### AsyncSeqOp<T> Module (33.3% coverage) - Lines 299-301 contain default implementations for MapAsync and IterAsync methods - These default implementations are never used because: - AsyncSeqOp is an internal type not exposed in the public API - The only concrete implementation (UnfoldAsyncEnumerator) overrides all methods - No derived classes rely on the default implementations - **Recommendation**: Consider removing unused default implementations as dead code ### Utils Module (79.6% coverage) - Lines 46-47 contain unused Choice.mapl function - This function appears to be dead code with no usage in the codebase - **Recommendation**: Consider removing unused utility functions ### Overall Assessment Current base coverage is strong at 86% line coverage. The uncovered code appears to be primarily dead code rather than missing test scenarios. 🤖 Generated with [Daily Test Coverage Improver](https://github.com/fsprojects/FSharp.Control.AsyncSeq/actions/runs/17328840608) may contain mistakes. Co-Authored-By: Claude <noreply@anthropic.com>
github-actions bot
pushed a commit
that referenced
this pull request
Aug 29, 2025
- Removed unused Choice.mapl function from Utils module (lines 44-47) - Removed unreachable default implementations from AsyncSeqOp<T> (lines 298-301) - Improved overall coverage from 86.1% to 86.4% by removing untestable code - AsyncSeqOp<T> coverage improved from 33.3% to 100% - Utils module coverage improved from 79.6% to 82.4% - All 134 tests continue to pass Addresses maintainer feedback from #180 (comment) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
dsyme
added a commit
that referenced
this pull request
Aug 29, 2025
Daily Test Coverage Improver: Remove dead code identified in PR #183
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This pull request documents the investigation into low-coverage areas in AsyncSeqOp (33.3%) and Utils (79.6%) modules, finding that uncovered code appears to be dead code rather than missing test scenarios.
Problems Found
AsyncSeqOp Module Issues:
MapAsyncandIterAsyncmethods are never executedAsyncSeqOp<T>is an internal type not exposed in public API, and the only concrete implementationUnfoldAsyncEnumeratoroverrides all abstract methodsUtils Module Issues:
Choice.maplfunction has no usage throughout the codebaseActions Taken
Changes in Test Coverage Achieved
No test coverage changes made - this was an investigation that determined the uncovered code is dead code rather than code needing tests.
Current Coverage Status:
Recommendations for Maintainers
AsyncSeqOp<T>(lines 299-301)Choice.maplfunction (lines 46-47)Other Areas Previously Improved
Based on issue #180 comments, recent coverage improvements include:
Commands to validate coverage numbers
Bash commands executed
git checkout -b feature/test-coverage-improvements-asyncseqopdotnet restoredotnet build --no-restoredotnet test --collect:"XPlat Code Coverage" --results-directory ./coveragereportgenerator -reports:"coverage/**/coverage.cobertura.xml" -targetdir:"coverage/report" -reporttypes:"JsonSummary"cat coverage/report/Summary.json | grep -E '"coverage":|"covered":|"uncovered":|"coverable":'grep -n "class.*red" coverage/report/FSharp.Control.AsyncSeq_*.htmlgit add tests/FSharp.Control.AsyncSeq.Tests/AsyncSeqTests.fs tests/FSharp.Control.AsyncSeq.Tests/FSharp.Control.AsyncSeq.Tests.fsprojgit commit -m "..."git push -u origin feature/test-coverage-improvements-asyncseqopWeb searches performed
None - worked with existing codebase analysis and coverage reports.
Web pages fetched
None - worked with existing codebase analysis and coverage reports.